package com.swak.paxos;

import java.util.concurrent.CompletableFuture;

import com.swak.reactivex.transport.Message;

public interface Instance {

	/**
	 * 提交一个值.
	 * 
	 * @param value 提交的值
	 * @return 异步结果
	 */
	CompletableFuture<Void> propose(Value value);

	/**
	 * 接收消息
	 * 
	 * @param message 接收到的消息
	 */
	void onReceiveMessage(Message message);
}
